package com.wl2o2o.lanqiao;
/** 
* @author : WLei224
* @date ：2023年4月4日 上午12:23:47 
* 
*/

//1:无需package
//2: 类名必须Main, 不可修改
//LettCode 041 Solution
public class LeetCode041 {
 public static void main(String[] args) {
     int[] a = {3,4,-1,1};
     System.out.println(findFirstLostNum(a));

 }

 //寻找第一个遗失的整数
 public static int findFirstLostNum(int[] a){
     //排序
     for(int i = 0; i < a.length; i++){
         while(a[i] > 0 && a[i] != (i + 1)){
             int temp = a[a[i] - 1];
             a[a[i] - 1] = a[i]; 
             a[i] = temp;
         }
     }
     //判断哪个位置的数字对应不上
     for(int i = 0; i < a.length; i++){
         if(a[i] != i + 1) return i + 1;
     }
     //如果数组的数字都不缺少，那么输出数组长度的+1
     return a.length + 1;
 }
}
